草庐IT

vs2019 offline

全部标签

c++ - VS2010 无法链接它应该构建的库

我在尝试构建我的DLL项目时遇到了VS2010的问题。DLL本身生成得很好,但我需要与其他依赖项目链接的.lib文件失败。我有一个经典的__declspec(dllexport)和所有东西,不用担心,构建在Debug模式下完美运行。我只在Release模式下遇到这个问题,但我不认为我搞砸了我的设置(它们几乎是默认设置)。这是我得到的输出错误(未解析的外部符号):Erreur274errorLNK1120:1externesnonrésolus\Release\Engine.libEngineErreur273errorLNK2001:symboleexternenonrésoluApp

c++ - lnk2019 visual studio错误

我正在尝试制作一个简单的UDP套接字类来在C++程序和Java程序之间进行一些对话,所以我正在尝试制作一个处理所有UDP传输的套接字类,但我无法让程序编译,因为我收到大约8个lnk2019错误,我什至不知道它们是什么意思。我主要在Java中工作,只有在我不得不大声笑时才使用c++。我有3个文件,套接字头和代码。此外,Udp套接字代码来自rFactor-Nesim,因此套接字代码不是我编写的。UdpSocket.cpp#include"UdpSocket.hpp"#includeUdpSocket::UdpSocket(constchar*host,intport):mHost(host

c++ - error LNK2019 未解析的外部符号虚拟类

我知道这个问题被问过好几次了,但我找不到解决方法。我在尝试构建我的项目时遇到此错误:errorLNK2019:unresolvedexternalsymbol"public:virtual__thiscallIGameState::~IGameState(void)"(??1IGameState@@UAE@XZ)infunction"public:virtual__thiscallMenuState::~MenuState(void)"(??1MenuState@@UAE@XZ)这是我的代码:IGameState.hclassIGameState{public:virtual~IGam

c++ - 显式默认和删除的构造函数 : is there any similar functionality available in VS2012?

在VS2012中,“显式默认和删除特殊成员函数”功能(http://en.wikipedia.org/wiki/C++0x#Explicitly_defaulted_and_deleted_special_member_functions、http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm)尚不可用(http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx)。是否有任何解决方法来使用此类功能,即使非常冗长?在实践中,我可以翻译这个吗struc

在VS Code Tasks.json上使用基于#{fileExtName}的任务

我一直在尝试使用条件来检查当前打开的文件扩展名称,以便我可以自动使用不同的任务,但没有成功。这是当前的任务。{"version":"0.1.0","isShellCommand":true,"showOutput":"always","suppressTaskName":true,"echoCommand":true,"tasks":[{"taskName":"Buildc++","command":"","isBuildCommand":true,"args":["g++","-o","${fileBasenameNoExtension}","${fileBasename}"]}]}我的目标

java - 性能优化 : C++ vs Java not performing as expected

我编写了两个程序来实现一个简单的矩阵乘法算法,一个用C++编写,一个用Java编写。与我的预期相反,Java程序的运行速度比C++程序快大约2.5倍。我是C++的新手,希望就我可以在C++程序中进行哪些更改以使其运行更快提出建议。我的程序从这篇博文中借用了代码和数据http://martin-thoma.com/matrix-multiplication-python-java-cpp.以下是我正在使用的当前编译标志:g++-O3main.ccjavacMain.java以下是当前的编译器/运行时版本:$g++--versiong++.exe(GCC)4.8.1Copyright(C)

c++ - 清理DLL : _endthreadex() vs TerminateThread()中的线程

由于restrictionsonDllMain(我知道这对DLL中的全局和静态对象构造函数和析构函数同样适用),像带异步文件写入/刷新线程的单例记录器这样的简单事情变得太棘手了。单例记录器位于DLL中,并且对可执行文件的加载和卸载时的影响有限。我可以强制该可执行文件在使用前调用它的DLL初始化函数,因此在初始化函数中,我可以使用关键部分来保护一个变量,该变量告诉DLL是否已经初始化或这次是否需要初始化。通过这种方式避免了DllMain的初始化,这将导致死锁,因为我需要从初始化启动线程,并且线程使用DllMain的原因调用DLL_THREAD_ATTACH,并且获得与我们在DllMain

C++ 多重继承和向上转换的智能指针销毁导致 VS 2017 中的堆损坏

我在使用上面的代码时遇到了VS调试器的问题:classAnimal{public:};classStupid{public:};classDog:publicStupid,publicAnimal{public:};intmain(){std::unique_ptranimal=std::unique_ptr(newDog());animal.reset();return0;}此代码在执行涉及“ntdl.dll”和“wntdll.pdb”的“animal.reset()”后抛出错误。如果我点击“忽略”多次(3)次,以下是MSVC运行时库生成断言失败的表达式:1-_CrtIsValidH

c++ - 模板参数阴影在 VS2005 中如何工作?

在GCC中,这段代码无法编译,因为T被隐藏了,但是在VS2005中,它编译时没有警告,那么VS编译器所做的假设是什么?templateclassFoo{templatevoidBar(constT&bar){...}}; 最佳答案 经过3个月的搜索找到了正确的答案:)它在标准的14.6.1/4中:Atemplate-parametershallnotberedeclaredwithinitsscope(includingnestedscopes).Atemplate-parametershallnothavethesamenamea

c++ - <hash_set> 相等运算符在 VS2010 中不起作用

示例代码:std::hash_seths1;//alsoitrystd::unordered_set-sameeffectstd::hash_seths2;hs1.insert(15);hs1.insert(20);hs2.insert(20);hs2.insert(15);assert(hs1==hs2);hash_set不按照散列函数定义的某种顺序存储元素...为什么?请注意,此代码使用stdext::hash_set在VS2008中工作。 最佳答案 在VisualC++2010中,hash_set和unordered_set的